package avicit.bdp.dgs.standard.vo;

import avicit.bdp.core.constant.Constants;
import avicit.bdp.core.enums.DataStateEnum;
import avicit.platform6.core.annotation.log.LogField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import javax.persistence.Transient;

/**
 * @author mayi 数据标准-数据元历史记录VO
 */
@ApiModel(value = "DataElementHistoryVo", description = "数据元")
public class DataElementHistoryVo {

  /** 主键ID */
  @LogField
  @ApiModelProperty(value = "主键")
  private String id;

  /** 数据元ID */
  @LogField
  @ApiModelProperty(value = "数据元ID", name = "dataElementId")
  private String dataElementId;

  /** 数据元版本 */
  @LogField
  @ApiModelProperty(value = "数据元版本", name = "dataElementVersion")
  private String dataElementVersion;

  /**
   * 状态
   *
   * @see DataStateEnum
   */
  @LogField
  @ApiModelProperty(value = "状态", name = "status")
  private Integer status;

  @ApiModelProperty(value = "状态")
  @Transient
  private String statusString;

  @JsonFormat(timezone = "GMT+8", pattern = Constants.YYYY_MM_DD_HH_MM_SS)
  protected Date lastUpdateDate;

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public String getDataElementId() {
    return dataElementId;
  }

  public void setDataElementId(String dataElementId) {
    this.dataElementId = dataElementId;
  }

  public Integer getStatus() {
    return status;
  }

  public void setStatus(Integer status) {
    this.status = status;
  }

  public String getStatusString() {
    return statusString;
  }

  public void setStatusString(String statusString) {
    this.statusString = statusString;
  }

  public String getDataElementVersion() {
    return dataElementVersion;
  }

  public void setDataElementVersion(String dataElementVersion) {
    this.dataElementVersion = dataElementVersion;
  }

  public Date getLastUpdateDate() {
    return lastUpdateDate;
  }

  public void setLastUpdateDate(Date lastUpdateDate) {
    this.lastUpdateDate = lastUpdateDate;
  }
}
